﻿#include<iostream>
using namespace std;

//#include"Date.h"
//
//void TestDate1()
//{
//	//测试+和-
//	Date d1(2025, 7, 31);
//	Date d2 = d1 + 30000;
//	d1.Print();
//	d2.Print();
//
//	Date d3(2025, 7, 31);
//	Date d4 = d3 - 5000;
//	d3.Print();
//	d4.Print();
//
//	Date d5(2025, 7, 31);
//	d5 += -5000;
//	d5.Print();
//}
//
//void TestDate2()
//{
//	Date d1(2025, 7, 31);
//	Date d2 = ++d1;
//	Date d3 = d1++;
//	d1.Print();
//	d2.Print();
//	d3.Print();
//
////	d1.operator++(100);
////	d1.operator++(0);
////	d1.Print();
//}
//
//void TestDate3()
//{
//	Date d1(2025, 7, 31);
//	Date d2(2035, 7, 31);
//	int n = d1 - d2;
//	cout << n << endl;
//}
//
//void TestDate4()
//{
//	Date d1(2025, 7, 31);
//	Date d2 = d1 + 3000;
//
//	//operator<<(cout,d1)
//	cout << d1;
//	cout << d2;
//	cin >> d1 >> d2;
//	cout << d1 << d2;
//}
//
//void TestDate5()
//{
//	const Date d1(2025, 7, 31);
//	d1.Print();
//	//d1 += 100
//	d1 + 100;
//	
//	Date d2(2025, 7, 31);
//	d2.Print();
//	d2 += 100;
//	d1 < d2;
//	d2 < d1;
//}
//int main()
//{
//	//TestDate1();
//	//TestDate2();
//	//TestDate3();
//	//TestDate4();
//	TestDate5();
//	return 0;
//}




//class Date
//{
//public:
//	Date(int year = 1, int month = 1, int day = 1)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//
//	//void Print(const Date* const this) const
//	void Print() const
//	{
//		cout << _year << "-" << _month << "-" << _day << endl;
//	}
//private:
//	int _year;
//	int _month;
//	int _day;
//};
//
//int main()
//{
//	//这里非const对象也可以调用const成员函数是一种权限的缩小 
//	Date d1(2025, 7, 31);
//	d1.Print();
//	const Date d2(2025, 7, 31);
//	d2.Print();
//
//	return 0;
//}

//class Date
//{
//public:
//	Date* operator&()
//	{
//		return this;
//		//return nullptr;
//	}
//
//	const Date* operator&() const
//	{
//		return this;
//		//return nullptr;
//	}
//
//private:
//	int _year;
//	int _month;
//	int _day;
//};


//const int a = 10;
//int& ra = a;
//
//const int a = 10;
//int rd = a;
//
//int b = 20;
//const int& rb = b;
//
//int a = 30;
//const int& rb = a * 3;
//
//double d = 12.34;
//const int& rd = d;